package temp.model.information;
import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang3.StringUtils;

import com.alibaba.fastjson.annotation.JSONField;
import com.hanhai.zrb.model.project.enums.AssetTypeEnums;
import com.hanhai.zrb.model.project.enums.IsValidateEnums;
import com.hanhai.zrb.model.project.enums.PppTypeEnums;
import com.hanhai.zrb.model.project.enums.ProjectStatusEnums;
import com.hanhai.zrb.model.project.enums.ProjectTypeEnums;


/**
 * 
 * 项目信息
 * 
 **/
@SuppressWarnings("serial")
public class ProjectInfo implements Serializable {

	/**项目id，自增**/
	private Integer autoId;

	/**项目编号，手动输入**/
	private String projectId;
	/**PPP项目分类PPP项目分类，1：非经营性、2：经营性、3：准经营性**/
	private String pppType;
	//ppp项目对应汉字
	private String pppTypeZH;
	

	/**项目名称**/
	private String projectName;

	/**项目类型，1：PPP投资权、2：土地使用权、3：资产**/
	private Integer projectType;
	/**项目类型对应汉字**/
	private Integer projectTypeZH;

	/**项目行业**/
	private Integer industryId;

	/**所在省邮编**/
	private String provincePostcode;

	/**所在省份**/
	private String province;

	/**所在市邮编**/
	private String cityPostcode;

	/**所在地级市**/
	private String city;

	/**所在县邮编**/
	private String countyPostcode;

	/**所在县**/
	private String county;

	/**添加时间**/
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private java.util.Date insertTime;

	/**更新时间**/
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private java.util.Date updateTime;
	//发布时间
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private java.util.Date pushTime;


	/**项目图片**/
	private String pic;

	/****/
	private String bigPic;

	/**项目简介**/
	private String intro;

	/**项目金额，万元**/
	private java.math.BigDecimal investment;
	
	private String investmentStr;

	/**项目标签，多个以英文逗号分隔**/
	private String keywords;

	/**项目当前热度**/
	private Integer hotValue;

	/**是否认证，0：未认证，1：电话认证，2：现场认证，2：授权项目**/
	private Integer isValidate;
	/**是否认证对应汉子**/
	private Integer isValidateZH;

	/**项目md5，用于确保数据唯一性**/
	private String nameMd5;

	/**项目状态，1：招商中，2：已成交**/
	private Integer projectStatus;
	
	/**项目状态对应汉子**/
	private Integer projectStatusZH;
	private String assetTypeZH;// 资产类型中文转译  
	/**是否属于案例，0：否，1：是**/
	private Integer isCase;

	/**土地面积，单位：亩**/
	private float area;

	/**项目发布时间**/
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private java.util.Date tradeDate;

	/**是否属于推介项目，0：否，1：是**/
	private Integer isRecommend;
	
	/**项目信息来源，，关联系统数据字典表（sys_dictionary），爬虫采集、用户提交、汉海自有**/
	private Integer source;
	
	/**项目短标题，10字以内，APP用**/
	private String shortName;
	
	private Long userId;
	


	private String userName;
	
	private String assetType;// 资产类型，房屋、土地、交通工具、股权    
	
	/**
	 * 项目被用户收藏的总数
	 */
	private Long userCollectionCount;
	
	/**
	 * 项目被用户收藏的时间
	 */
	private Date collectionTime;

	
	/**招商状态**/
	private Integer investmentStatus;
	
	/**地址描述**/
	private String depict;

	public String getDepict() {
		return depict;
	}

	public void setDepict(String depict) {
		this.depict = depict;
	}

	public Integer getInvestmentStatus() {
		return investmentStatus;
	}

	public void setInvestmentStatus(Integer investmentStatus) {
		this.investmentStatus = investmentStatus;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}


	public Integer getSource() {
		return source;
	}

	public void setSource(Integer source) {
		this.source = source;
	}

	public String getShortName() {
		return shortName;
	}

	public void setShortName(String shortName) {
		this.shortName = shortName;
	}

	public void setAutoId(Integer autoId){
		this.autoId = autoId;
	}

	public Integer getAutoId(){
		return this.autoId;
	}

	public void setProjectId(String projectId){
		this.projectId = projectId;
	}

	public String getProjectId(){
		return this.projectId;
	}

	public void setProjectName(String projectName){
		this.projectName = projectName;
	}

	public String getProjectName(){
		return this.projectName;
	}

	public void setProjectType(Integer projectType){
		this.projectType = projectType;
	}

	public Integer getProjectType(){
		return this.projectType;
	}

	public void setIndustryId(Integer industryId){
		this.industryId = industryId;
	}

	public Integer getIndustryId(){
		return this.industryId;
	}

	public void setProvincePostcode(String provincePostcode){
		this.provincePostcode = provincePostcode;
	}

	public String getProvincePostcode(){
		return this.provincePostcode;
	}

	public void setProvince(String province){
		this.province = province;
	}

	public String getProvince(){
		return this.province;
	}

	public void setCityPostcode(String cityPostcode){
		this.cityPostcode = cityPostcode;
	}

	public String getCityPostcode(){
		return this.cityPostcode;
	}

	public void setCity(String city){
		this.city = city;
	}

	public String getCity(){
		return this.city;
	}

	public void setCountyPostcode(String countyPostcode){
		this.countyPostcode = countyPostcode;
	}

	public String getCountyPostcode(){
		return this.countyPostcode;
	}

	public void setCounty(String county){
		this.county = county;
	}

	public String getCounty(){
		return this.county;
	}

	public void setInsertTime(java.util.Date insertTime){
		this.insertTime = insertTime;
	}

	public java.util.Date getInsertTime(){
		return this.insertTime;
	}

	public void setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
	}

	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}

	public void setPic(String pic){
		this.pic = pic;
	}

	public String getPic(){
		return this.pic;
	}

	public void setBigPic(String bigPic){
		this.bigPic = bigPic;
	}

	public String getBigPic(){
		return this.bigPic;
	}

	public void setIntro(String intro){
		this.intro = intro;
	}

	public String getIntro(){
		return this.intro;
	}

	public void setInvestment(java.math.BigDecimal investment){
		this.investment = investment;
	}

	public java.math.BigDecimal getInvestment(){
		return this.investment;
	}

	public void setKeywords(String keywords){
		this.keywords = keywords;
	}

	public String getKeywords(){
		return this.keywords;
	}

	public void setHotValue(Integer hotValue){
		this.hotValue = hotValue;
	}

	public Integer getHotValue(){
		return this.hotValue;
	}

	public void setIsValidate(Integer isValidate){
		this.isValidate = isValidate;
	}

	public Integer getIsValidate(){
		return this.isValidate;
	}

	public void setNameMd5(String nameMd5){
		this.nameMd5 = nameMd5;
	}

	public String getNameMd5(){
		return this.nameMd5;
	}

	public void setProjectStatus(Integer projectStatus){
		this.projectStatus = projectStatus;
	}

	public Integer getProjectStatus(){
		return this.projectStatus;
	}

	public void setIsCase(Integer isCase){
		this.isCase = isCase;
	}

	public Integer getIsCase(){
		return this.isCase;
	}

	public void setArea(float area){
		this.area = area;
	}

	public float getArea(){
		return this.area;
	}

	public void setTradeDate(java.util.Date tradeDate){
		this.tradeDate = tradeDate;
	}

	public java.util.Date getTradeDate(){
		return this.tradeDate;
	}

	public void setIsRecommend(Integer isRecommend){
		this.isRecommend = isRecommend;
	}

	public Integer getIsRecommend(){
		return this.isRecommend;
	}
	public String getPppType() {
		return pppType;
	}

	public void setPppType(String pppType) {
		this.pppType = pppType;
	}

	public String getPppTypeZH() {
		return PppTypeEnums.getValueByCode(StringUtils.isBlank(this.pppType)?0:Integer.valueOf(this.pppType));
	}

	public String getProjectTypeZH() {
		return ProjectTypeEnums.getValueByCode(this.projectType==null?0:this.projectType);
	}

	public String getIsValidateZH() {
		return IsValidateEnums.getValueByCode(this.isValidate==null?0:this.isValidate);
	}

	public String getProjectStatusZH() {
		return ProjectStatusEnums.getValueByCode(this.projectStatus==null?0:this.projectStatus);
		
	}

	public Long getUserCollectionCount() {
		return userCollectionCount;
	}

	public void setUserCollectionCount(Long userCollectionCount) {
		this.userCollectionCount = userCollectionCount;
	}

	public Date getCollectionTime() {
		return collectionTime;
	}

	public void setCollectionTime(Date collectionTime) {
		this.collectionTime = collectionTime;
	}
	public String getAssetType() {
		return assetType;
	}

	public void setAssetType(String assetType) {
		this.assetType = assetType;
	}
	
	public String getAssetTypeZH() {
		return AssetTypeEnums.getValueByCode(StringUtils.isBlank(this.assetType)?0:Integer.valueOf(this.assetType));
	}
	public void setAssetTypeZH(String assetTypeZH) {
		this.assetTypeZH = assetTypeZH;
	}
	
	public java.util.Date getPushTime() {
		return pushTime;
	}

	public void setPushTime(java.util.Date pushTime) {
		this.pushTime = pushTime;
	}
	
	public void setInvestmentStr(String investmentStr) {
		this.investmentStr = investmentStr;
	}
	
	public String getInvestmentStr() {
		return null==investment?"0":investment.toString().split("\\.")[0];
	}

}
